home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1999 March / EnigmA AMIGA RUN 35 (1999)(G.R. Edizioni)(IT)[!][issue 1999-03].iso / earcd / devel / libx11 / include / x11 / xmp / table.h < prev    next >
C/C++ Source or Header  |  1999-01-01  |  4KB  |  157 lines

  1. #ifndef _XmpTable_h
  2. #define _XmpTable_h
  3. #include <X11/Xmp/COPY>
  4.  
  5. /*
  6.  * SCCS_data: @(#) Table.h 1.8 92/04/02 10:59:04
  7.  *
  8.  * XmpTable - Forms-based composite widget/geometry manager
  9.  *            Derived from Motif 
  10.  *
  11.  * Original Author:
  12.  *    David Harrison
  13.  *    University of California, Berkeley
  14.  *    1989
  15.  *
  16.  * Re-Implementation:
  17.  *    David E. Smyth        David.Smyth@SniAp.MchP.SNI.De
  18.  *    1992
  19.  *
  20.  * This file contains the XmpTable public declarations.
  21.  */
  22.  
  23. /*
  24.  * XmpTable Widget Parameters
  25.  *
  26.  * Name            Class        RepType        Default Value
  27.  *
  28.  * layout        Layout        XmpTableLoc    NULL
  29.  * defaultOptions    DefaultOptions    XmpTableOpts    NULL
  30.  * forceShrink        ForceShrink    Boolean        True
  31.  * shrinkSimple        ShrinkSimple    Boolean        True
  32.  * columnSpacing    Spacing        int        0
  33.  * rowSpacing        Spacing        int        0
  34.  *
  35.  * Inheritace Heirarchy (therefore see man pages for these widget types
  36.  * for additional resources):
  37.  * Core, Composite, Constraint (although no constraints are defined!),
  38.  * XmManager, XmBulletinBoard, XmpTable.
  39.  */
  40.  
  41. #define XtNlayout        "layout"
  42. #define XtNdefaultOptions    "defaultOptions"
  43. #define XtNshrinkSimple        "shrinkSimple"
  44. #define XtNforceShrink        "forceShrink"
  45. #define XtNcolumnSpacing        "columnSpacing"
  46. #define XtNrowSpacing           "rowSpacing"
  47.  
  48. #define XtCLayout        "Layout"
  49. #define XtCDefaultOptions    "DefaultOptions"
  50. #define XtCForceShrink        "ForceShrink"
  51. #define XtCShrinkSimple        "ShrinkSimple"
  52. #ifndef XtCSpacing
  53. #define XtCSpacing        "Spacing"
  54. #endif
  55.  
  56. #define XtRXmpTableLoc        "XmpTableLoc"
  57. #define XtRXmpTableOpts        "XmpTableOpts"
  58.  
  59. /*
  60.  * Option masks
  61.  */
  62. #define TBL_LEFT    (1<<0)
  63. #define TBL_RIGHT    (1<<1)
  64. #define TBL_TOP        (1<<2)
  65. #define TBL_BOTTOM    (1<<3)
  66. #define TBL_SM_WIDTH    (1<<4)
  67. #define TBL_SM_HEIGHT    (1<<5)    
  68. #define TBL_LK_WIDTH    (1<<6)
  69. #define TBL_LK_HEIGHT    (1<<7)
  70.  
  71. #define TBL_DEF_OPT    -1
  72.  
  73. typedef int XmpTableOpts;
  74.  
  75. /*
  76.  * Opaque class and instance records
  77.  */
  78.  
  79. typedef struct _XmpTableLoc        *XmpTableLoc;
  80. typedef struct _XmpTableClassRec    *XmpTableWidgetClass;
  81. typedef struct _XmpTableRec        *XmpTableWidget;
  82.  
  83. extern WidgetClass xmpTableWidgetClass;
  84.  
  85. #define XmpIsTable(w) XtIsSubclass(w,xmpTableWidgetClass)
  86.  
  87. /******************************************************************************
  88. ** Macros for ANSI and K&R Function Decls
  89. ******************************************************************************/
  90.  
  91. #ifndef NeedFunctionPrototypes
  92. #if defined(FUNCPROTO) || defined(__STDC__) || defined(__cplusplus) || defined(c_plusplus)
  93. #define NeedFunctionPrototypes 1
  94. #else
  95. #define NeedFunctionPrototypes 0
  96. #endif /* __STDC__ */
  97. #endif /* NeedFunctionPrototypes */
  98.  
  99. #ifndef _
  100. /* Macro for ANSI or K&R external declarations.  Declare them like this:
  101. **
  102. **      int foo _(( int, MapAg ));
  103. **
  104. ** DO NOT forget whitespace before the '_' !!
  105. */
  106. #if NeedFunctionPrototypes
  107. #define _(a) a          /* ANSI results in: int foo ( int, MapAg ); */
  108. #else
  109. #define _(a) ()         /* K&R  results in: int foo ();                       */
  110. #endif
  111. #endif
  112.  
  113. /******************************************************************************
  114. ** XmpTable Public Functions
  115. ******************************************************************************/
  116.  
  117. extern XmpTableLoc XmpTableLocParse _((    char*        /*layout*/    ));
  118. extern void        XmpTableLocFree  _((    XmpTableLoc    /*to_free*/    ));
  119.  
  120. extern void XmpTableChildPosition _((    Widget        /*child*/,
  121.                     int        /*col*/,
  122.                     int        /*row*/        ));
  123.  
  124. extern void XmpTableChildResize    _((    Widget        /*child*/,
  125.                     int        /*col_span*/,
  126.                     int        /*row_span*/    ));
  127.  
  128. extern XmpTableOpts XmpTableOptsParse _(( char*        /*opt_string*/    ));
  129.  
  130. extern void XmpTableChildOptions _((    Widget        /*child*/,
  131.                     XmpTableOpts    /*opts*/    ));
  132.  
  133. extern void XmpTableChildConfig    _((    Widget        /*child*/,
  134.                     int        /*col*/,
  135.                     int        /*row*/,
  136.                     int        /*col_span*/,
  137.                     int        /*row_span*/,
  138.                     XmpTableOpts    /*opts*/    ));
  139.  
  140. extern Widget XmpCreateTable    _((    Widget        /*parent*/,
  141.                     char*        /*name*/,
  142.                     ArgList        /*args*/,
  143.                     Cardinal    /*numArgs*/    ));
  144.  
  145. extern Widget XmpCreateTableDialog _((    Widget        /*parent*/,
  146.                     char*        /*name*/,
  147.                     ArgList        /*args*/,
  148.                     Cardinal    /*numArgs*/    ));
  149.  
  150. extern Widget XmpCreateTableTransient _(( Widget    /*parent*/,
  151.                     char*        /*name*/,
  152.                     ArgList        /*args*/,
  153.                     Cardinal    /*numArgs*/    ));
  154.  
  155. #endif /* _XmpTable_h */
  156.  
  157.